package it.univaq.disim.mwt.business.impl;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import it.univaq.disim.mwt.business.TipologiaPersonaleAtaService;
import it.univaq.disim.mwt.business.model.TipologiaLaboratorio;
import it.univaq.disim.mwt.business.model.TipologiaPersonaleAta;

public class JDBCTipologiaPersonaleAtaService implements TipologiaPersonaleAtaService{

	//FUNZIONA
	@Override
	public TipologiaPersonaleAta findTipologiaPersonaleAtaById(Long id) {
		
		Connection connection = null;
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		
		String sql = "select * from tipologie_personale_ata where id = ? ";
	    TipologiaPersonaleAta tipologiaPersonaleAta = null;
		
	    try {
			
	    	connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "school", "school");
			preparedStatement = connection.prepareStatement(sql);
			preparedStatement.setLong(1, id);
			preparedStatement.executeQuery();	
            resultSet = preparedStatement.getResultSet();
            resultSet.next();
            
			Long ide = resultSet.getLong("id");
			String tipo = resultSet.getString("occupazione");
			
			tipologiaPersonaleAta= new TipologiaPersonaleAta(ide,tipo);
			
			resultSet.close();
			preparedStatement.close();
			connection.close();
			
			return tipologiaPersonaleAta ;
		
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		return null;
	}

	//FUNZIONA
	@Override
	public List<TipologiaPersonaleAta> findAllTipologiaPersonaleAta() {
		
		Connection connection = null;
		PreparedStatement preparedStatement = null;
		ResultSet resultSet = null;
		
		List<TipologiaPersonaleAta> listTipoAta = new ArrayList<TipologiaPersonaleAta>();
		TipologiaPersonaleAta tipologiaPersonaleAta = null;
		String sql = " select * from tipologie_personale_ata ";
		
		try {
			connection = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE", "school", "school");
			preparedStatement = connection.prepareStatement(sql);
			preparedStatement.executeQuery();	
			resultSet = preparedStatement.getResultSet();
			
			while(resultSet.next()){
				Long ide = resultSet.getLong("id");
				String tipo = resultSet.getString("occupazione");
				
				tipologiaPersonaleAta= new TipologiaPersonaleAta(ide,tipo);
				listTipoAta.add(tipologiaPersonaleAta);
			}
			
			resultSet.close();
			preparedStatement.close();
			connection.close();
		
			return listTipoAta;
			
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
	    
		return null;
	}
	
}